define(["jquery","utils","HeatMapKeyArea"], function($,utils, HeatMapKeyArea){
    
    function HeatMapKeyPressedArea(obj) {
        // private stuff
        HeatMapKeyArea.call(this,obj);
    };

    //erste den Prototyepen mit dem Parent überschreiben
    var _super = utils.extend(HeatMapKeyPressedArea,HeatMapKeyArea);

    //anschließend den  Prototypen der Klasse erweitern
    $.extend(HeatMapKeyPressedArea.prototype, {
          
         initInputCaptureAbility :function(){
            var t = this;
            t.initKeyList(t.heatPointList);
            t.domObj.onkeydown = function(event){

                t.heatPointList.addStrokeToKey(event.keyCode);
            };
        },
        storeInHeatmap :function(){
            var t = this;
            if(t.dataStored) return false;
            $.each(t.heatPointList, function(index, val) {
                if(val.Count > 0 )
                    t.heatmap.store.addDataPoint(val.x,val.y,val.Count);        
            });
            this.dataStored = true;
        }
    });
    return HeatMapKeyPressedArea;
});